QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17
INCLUDEPATH += $$PWD

# VGameEngine Core Directories
INCLUDEPATH += $$PWD/Misc
INCLUDEPATH += $$PWD/Sanitizer
INCLUDEPATH += $$PWD/HAL
INCLUDEPATH += $$PWD/Windows
INCLUDEPATH += $$PWD/Core

# Simple Library Configuration
INCLUDEPATH += $$PWD/simple_library/public
INCLUDEPATH += $$PWD/simple_library/third_party_library

# DirectX 12 Helper Headers
INCLUDEPATH += $$PWD/simple_library/public

# Link Simple Library
LIBS += -L$$PWD/simple_library/lib -lSimpleLibrary

# Simple Library Defines
DEFINES += CLOSE_DISABLE_DEBUG_INFOR

# DirectX 12 Configuration
win32 {
    LIBS += -ld3d12 -ldxgi -ld3dcompiler -ldxguid -luser32
    DEFINES += UNICODE _UNICODE VG_PLATFORM_WINDOWS
}

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    Core/vcoreglobal.cpp \
    Launch.cpp \
    LaunchWindows.cpp \
    vgcoreminimal.cpp \
    vdx12rhi.cpp \
    vgeviewport.cpp \
    vgameengine.cpp \
    vglunchengineloop.cpp \
    vgmainwindow.cpp \
    vgviewportwidget.cpp \
    DockTab.cpp \
    DockingTabWell.cpp \
    DockingTabStack.cpp \
    DockingSplitter.cpp \
    DockingArea.cpp \
    TabManager.cpp \
    TabSidebar.cpp \
    TabDrawer.cpp \
    QOverlay.cpp

HEADERS += \
    Core/vcoreglobal.h \
    vgcoreminimal.h \
    vgerhi.h \
    vdx12rhi.h \
    vgeviewport.h \
    vgengine.h \
    vgameengine.h \
    vglunchengineloop.h \
    vgmainwindow.h \
    vgviewportwidget.h \
    DockTab.h \
    DockingTabWell.h \
    DockingTabStack.h \
    DockingSplitter.h \
    DockingArea.h \
    TabManager.h \
    TabSidebar.h \
    TabDrawer.h \
    QOverlay.h

FORMS += \
    vgmainwindow.ui \
    vgviewportwidget.ui

RESOURCES += \
    resources.qrc \
    docking_resources.qrc

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

DISTFILES +=
